
<!doctype html>
<html lang="en" class="no-js">
  <head>
      <!-- Google tag (gtag.js) -->
      <script async src="https://www.googletagmanager.com/gtag/js?id=G-7QRVV2J34B"></script>
      <script>
        window.dataLayer = window.dataLayer || [];
        function gtag(){dataLayer.push(arguments);}
        gtag('js', new Date());

        gtag('config', 'G-7QRVV2J34B');
      </script>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width,initial-scale=1">
      
      
      
      
        <link rel="prev" href="..">
      
      
        <link rel="next" href="../operations/">
      
      
      <link rel="icon" href="../icon.png">
      <meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.29">
    
    
      
        <title>Tensor - JS-PyTorch</title>
      
    
    
      <link rel="stylesheet" href="../assets/stylesheets/main.76a95c52.min.css">
      
        
        <link rel="stylesheet" href="../assets/stylesheets/palette.06af60db.min.css">
      
      


    
    
      
    
    
      
        
        
        <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
        <style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
      
    
    
      <link rel="stylesheet" href="../style.css">
    
    <script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
    
      

    
    
    
  </head>
  
  
    
    
      
    
    
    
    
    <body dir="ltr" data-md-color-scheme="default" data-md-color-primary="deep-orange" data-md-color-accent="deep-orange">
  
    
    <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
    <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
    <label class="md-overlay" for="__drawer"></label>
    <div data-md-component="skip">
      
        
        <a href="#tensor" class="md-skip">
          Skip to content
        </a>
      
    </div>
    <div data-md-component="announce">
      
    </div>
    
    
      

  

<header class="md-header md-header--shadow md-header--lifted" data-md-component="header">
  <nav class="md-header__inner md-grid" aria-label="Header">
    <a href="https://github.com/eduardoleao052/js-pytorch" title="JS-PyTorch" class="md-header__button md-logo" aria-label="JS-PyTorch" data-md-component="logo">
      
  <img src="../white_icon.png" alt="logo">

    </a>
    <label class="md-header__button md-icon" for="__drawer">
      
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
    </label>
    <div class="md-header__title" data-md-component="header-title">
      <div class="md-header__ellipsis">
        <div class="md-header__topic">
          <span class="md-ellipsis">
          </span>
        </div>
        <div class="md-header__topic" data-md-component="header-topic">
          <span class="md-ellipsis">
            
              Tensor
            
          </span>
        </div>
      </div>
    </div>
    
      
        <form class="md-header__option" data-md-component="palette">
  
    
    
    
    <input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="deep-orange" data-md-color-accent="deep-orange"  aria-label="Switch to dark mode"  type="radio" name="__palette" id="__palette_0">
    
      <label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_1" hidden>
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 7H7a5 5 0 0 0-5 5 5 5 0 0 0 5 5h10a5 5 0 0 0 5-5 5 5 0 0 0-5-5m0 8a3 3 0 0 1-3-3 3 3 0 0 1 3-3 3 3 0 0 1 3 3 3 3 0 0 1-3 3Z"/></svg>
      </label>
    
  
    
    
    
    <input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="deep-orange" data-md-color-accent="deep-orange"  aria-label="Switch to light mode"  type="radio" name="__palette" id="__palette_1">
    
      <label class="md-header__button md-icon" title="Switch to light mode" for="__palette_0" hidden>
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6zm0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4zM7 9c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"/></svg>
      </label>
    
  
</form>
      
    
    
      <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
    
    
    
      <label class="md-header__button md-icon" for="__search">
        
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
      </label>
      <div class="md-search" data-md-component="search" role="dialog">
  <label class="md-search__overlay" for="__search"></label>
  <div class="md-search__inner" role="search">
    <form class="md-search__form" name="search">
      <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
      <label class="md-search__icon md-icon" for="__search">
        
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
        
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
      </label>
      <nav class="md-search__options" aria-label="Search">
        
        <button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
          
          <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
        </button>
      </nav>
      
    </form>
    <div class="md-search__output">
      <div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
        <div class="md-search-result" data-md-component="search-result">
          <div class="md-search-result__meta">
            Initializing search
          </div>
          <ol class="md-search-result__list" role="presentation"></ol>
        </div>
      </div>
    </div>
  </div>
</div>
    
    
      <div class="md-header__source">
        <a href="https://github.com/eduardoleao052/js-pytorch" title="Go to repository" class="md-source" data-md-component="source">
  <div class="md-source__icon md-icon">
    
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
  </div>
  <div class="md-source__repository">
    JS-PyTorch
  </div>
</a>
      </div>
    
  </nav>
  
    
      
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
  <div class="md-grid">
    <ul class="md-tabs__list">
      
        
  
  
  
    <li class="md-tabs__item">
      <a href=".." class="md-tabs__link">
        
  
    
  
  Home

      </a>
    </li>
  

      
        
  
  
    
  
  
    <li class="md-tabs__item md-tabs__item--active">
      <a href="./" class="md-tabs__link">
        
  
    
  
  Tensor

      </a>
    </li>
  

      
        
  
  
  
    <li class="md-tabs__item">
      <a href="../operations/" class="md-tabs__link">
        
  
    
  
  Operations

      </a>
    </li>
  

      
        
  
  
  
    <li class="md-tabs__item">
      <a href="../layers/" class="md-tabs__link">
        
  
    
  
  Layers

      </a>
    </li>
  

      
        
  
  
  
    <li class="md-tabs__item">
      <a href="../tutorials/" class="md-tabs__link">
        
  
    
  
  Tutorials

      </a>
    </li>
  
    <li class="md-tabs__item">
      <a href="../demo/" class="md-tabs__link">
        
  
    
  
  Demo

      </a>
    </li>
      
    </ul>
  </div>
</nav>
    
  
</header>
    
    <div class="md-container" data-md-component="container">
      
      
        
      
      <main class="md-main" data-md-component="main">
        <div class="md-main__inner md-grid">
          
            
              
              <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
                <div class="md-sidebar__scrollwrap">
                  <div class="md-sidebar__inner">
                    


  


  

<nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label="Navigation" data-md-level="0">
  <label class="md-nav__title" for="__drawer">
    <a href="https://github.com/eduardoleao052/js-pytorch" title="JS-PyTorch" class="md-nav__button md-logo" aria-label="JS-PyTorch" data-md-component="logo">
      
  <img src="../white_icon.png" alt="logo">

    </a>
    JS-PyTorch
  </label>
  
    <div class="md-nav__source">
      <a href="https://github.com/eduardoleao052/js-pytorch" title="Go to repository" class="md-source" data-md-component="source">
  <div class="md-source__icon md-icon">
    
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
  </div>
  <div class="md-source__repository">
    JS-PyTorch
  </div>
</a>
    </div>
  
  <ul class="md-nav__list" data-md-scrollfix>
    
      
      
  
  
  
  
    <li class="md-nav__item">
      <a href=".." class="md-nav__link">
        
  
  <span class="md-ellipsis">
    Home
  </span>
  

      </a>
    </li>
  

    
      
      
  
  
    
  
  
  
    <li class="md-nav__item md-nav__item--active">
      
      <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
      
      
        
      
      
        <label class="md-nav__link md-nav__link--active" for="__toc">
          
  
  <span class="md-ellipsis">
    Tensor
  </span>
  

          <span class="md-nav__icon md-icon"></span>
        </label>
      
      <a href="./" class="md-nav__link md-nav__link--active">
        
  
  <span class="md-ellipsis">
    Tensor
  </span>
  

      </a>
      
        

<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  
  
  
    
  
  
    <label class="md-nav__title" for="__toc">
      <span class="md-nav__icon md-icon"></span>
      Table of contents
    </label>
    <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
      
        <li class="md-nav__item">
  <a href="#torchtensor" class="md-nav__link">
    <span class="md-ellipsis">
      torch.tensor
    </span>
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#torchzeros" class="md-nav__link">
    <span class="md-ellipsis">
      torch.zeros
    </span>
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#torchones" class="md-nav__link">
    <span class="md-ellipsis">
      torch.ones
    </span>
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#torchtril" class="md-nav__link">
    <span class="md-ellipsis">
      torch.tril
    </span>
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#torchrandn" class="md-nav__link">
    <span class="md-ellipsis">
      torch.randn
    </span>
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#torchrand" class="md-nav__link">
    <span class="md-ellipsis">
      torch.rand
    </span>
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#torchrandint" class="md-nav__link">
    <span class="md-ellipsis">
      torch.randint
    </span>
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#tensorbackward" class="md-nav__link">
    <span class="md-ellipsis">
      tensor.backward
    </span>
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#tensorzero_grad" class="md-nav__link">
    <span class="md-ellipsis">
      tensor.zero_grad
    </span>
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#tensorzero_grad_graph" class="md-nav__link">
    <span class="md-ellipsis">
      tensor.zero_grad_graph
    </span>
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#tensortolist" class="md-nav__link">
    <span class="md-ellipsis">
      tensor.tolist
    </span>
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#tensordata" class="md-nav__link">
    <span class="md-ellipsis">
      tensor.data
    </span>
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#tensorlength" class="md-nav__link">
    <span class="md-ellipsis">
      tensor.length
    </span>
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#tensorndims" class="md-nav__link">
    <span class="md-ellipsis">
      tensor.ndims
    </span>
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#tensorgrad" class="md-nav__link">
    <span class="md-ellipsis">
      tensor.grad
    </span>
  </a>
  
</li>
      
    </ul>
  
</nav>
      
    </li>
  

    
      
      
  
  
  
  
    <li class="md-nav__item">
      <a href="../operations/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    Operations
  </span>
  

      </a>
    </li>
  

    
      
      
  
  
  
  
    <li class="md-nav__item">
      <a href="../layers/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    Layers
  </span>
  

      </a>
    </li>
  

    
      
      
  
  
  
  
    <li class="md-nav__item">
      <a href="../tutorials/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    Tutorials
  </span>
  

      </a>
    </li>
  
    <li class="md-nav__item">
      <a href="../demo/" class="md-nav__link">
        
  
  <span class="md-ellipsis">
    Demo
  </span>
  

      </a>
    </li>
    
  </ul>
</nav>
                  </div>
                </div>
              </div>
            
            
          
          
            <div class="md-content" data-md-component="content">
              <article class="md-content__inner md-typeset">
                
                  

  
  


<h1 id="tensor">Tensor</h1>
<p>The Tensor is the main object of this library. In this section are listed all of the <strong>Tensor</strong> methods.</p>
<h2 id="torchtensor">torch.tensor</h2>
<pre><code>torch.tensor(data,
            requires_grad=false,
            device='cpu') → Tensor
</code></pre>
<p>Returns a tensor filled with the data in the argument <code>data</code>.</p>
<p>Parameters</p>
<ul>
<li><strong>data (Array)</strong> - Javascript Array containing the data to be stored in the Tensor. This array can have any number of dimensions, but must have a homogenous shape, and only numbers.</li>
<li><strong>requires_grad (boolean)</strong> - Whether to keep track of this tensor's gradients. Set this to true if you want to <strong>learn</strong> this parameter in your model. Default: <code>false</code>.</li>
<li><strong>device (string)</strong> - Device to store Tensor. Either "gpu" or "cpu". If your device has a gpu, large models will train faster on it.</li>
</ul>
<p>Example</p>
<pre><code class="language-javascript">&gt;&gt;&gt; let a = torch.tensor([[1,2,3],[4,5,6]], false, 'gpu');
&gt;&gt;&gt; console.log(a.data);
//[[1,2,3],
// [4,5,6]]
</code></pre>
<p><br></p>
<h2 id="torchzeros">torch.zeros</h2>
<pre><code>torch.zeros(*shape,
            requires_grad=false,
            device='cpu') → Tensor
</code></pre>
<p>Returns a tensor filled with zeros with dimensions like <code>shape</code>.</p>
<p>Parameters</p>
<ul>
<li><strong>shape (Array)</strong> - Javascript Array containing the shape of the Tensor.</li>
<li><strong>requires_grad (boolean)</strong> - Whether to keep track of this tensor's gradients. Set this to true if you want to <strong>learn</strong> this parameter in your model. Default: <code>false</code>.</li>
<li><strong>device (string)</strong> - Device to store Tensor. Either "gpu" or "cpu". If your device has a gpu, large models will train faster on it.</li>
</ul>
<p>Example</p>
<pre><code class="language-javascript">&gt;&gt;&gt; let a = torch.zeros([3,2], false, 'gpu');
&gt;&gt;&gt; console.log(a.data);
//[[0, 0],
// [0, 0]
// [0, 0]]
</code></pre>
<p><br></p>
<h2 id="torchones">torch.ones</h2>
<pre><code>torch.ones(*shape,
            requires_grad=false,
            device='cpu') → Tensor
</code></pre>
<p>Returns a tensor filled with ones with dimensions like <code>shape</code>.</p>
<p>Parameters</p>
<ul>
<li><strong>shape (Array)</strong> - Javascript Array containing the shape of the Tensor.</li>
<li><strong>requires_grad (boolean)</strong> - Whether to keep track of this tensor's gradients. Set this to true if you want to <strong>learn</strong> this parameter in your model. Default: <code>false</code>.</li>
<li><strong>device (string)</strong> - Device to store Tensor. Either "gpu" or "cpu". If your device has a gpu, large models will train faster on it.</li>
</ul>
<p>Example</p>
<pre><code class="language-javascript">&gt;&gt;&gt; let a = torch.ones([3,2], false, 'gpu');
&gt;&gt;&gt; console.log(a.data);
//[[1, 1],
// [1, 1]
// [1, 1]]
</code></pre>
<p><br></p>
<h2 id="torchtril">torch.tril</h2>
<pre><code>torch.tril(*shape,
            requires_grad=false,
            device='cpu') → Tensor
</code></pre>
<p>Returns a 2D lower triangular tensor.</p>
<p>Parameters</p>
<ul>
<li><strong>shape (Array)</strong> - Javascript Array containing the shape of the Tensor.</li>
<li><strong>requires_grad (boolean)</strong> - Whether to keep track of this tensor's gradients. Set this to true if you want to <strong>learn</strong> this parameter in your model. Default: <code>false</code>.</li>
<li><strong>device (string)</strong> - Device to store Tensor. Either "gpu" or "cpu". If your device has a gpu, large models will train faster on it.</li>
</ul>
<p>Example</p>
<pre><code class="language-javascript">&gt;&gt;&gt; let a = torch.tril([4,3], false, 'gpu');
&gt;&gt;&gt; console.log(a.data);
//[[1, 0, 0],
// [1, 1, 0]
// [1, 1, 1]
// [1, 1, 1]]
&gt;&gt;&gt; let b = torch.tril([3,4], false, 'gpu');
&gt;&gt;&gt; console.log(b.data);
//[[1, 0, 0, 0],
// [1, 1, 0, 0]
// [1, 1, 1, 0]
</code></pre>
<p><br></p>
<h2 id="torchrandn">torch.randn</h2>
<pre><code>torch.randn(*shape,
            requires_grad=false,
            device='cpu',
            xavier=false) → Tensor
</code></pre>
<p>Returns a tensor filled with randomly sampled data with dimensions like <code>shape</code>. The sample is from a normal distribution.</p>
<p>Parameters</p>
<ul>
<li><strong>shape (Array)</strong> - Javascript Array containing the shape of the Tensor.</li>
<li><strong>requires_grad (boolean)</strong> - Whether to keep track of this tensor's gradients. Set this to true if you want to <strong>learn</strong> this parameter in your model. Default: <code>false</code>.</li>
<li><strong>device (string)</strong> - Device to store Tensor. Either "gpu" or "cpu". If your device has a gpu, large models will train faster on it.</li>
<li><strong>xavier (boolean)</strong> - Whether to use <a target="_blank" href="https://prateekvishnu.medium.com/xavier-and-he-normal-he-et-al-initialization-8e3d7a087528">Xavier Initialization</a> on this tensor. Default: <code>false</code>.</li>
</ul>
<p>Example</p>
<pre><code class="language-javascript">&gt;&gt;&gt; let a = torch.randn([3,2], false, 'gpu');
&gt;&gt;&gt; console.log(a.data);
//[[1.001, 0.122],
// [-0.93, 0.125]
// [0.123,-0.001]]
</code></pre>
<p><br></p>
<h2 id="torchrand">torch.rand</h2>
<pre><code>torch.rand(*shape,
            requires_grad=false,
            device='cpu') → Tensor
</code></pre>
<p>Creates new instance of the Tensor class filled with numbers in a uniform distribution in ]0,1[.</p>
<p>Parameters</p>
<ul>
<li><strong>shape (Array)</strong> - Javascript Array containing the shape of the Tensor.</li>
<li><strong>requires_grad (boolean)</strong> - Whether to keep track of this tensor's gradients. Set this to true if you want to <strong>learn</strong> this parameter in your model. Default: <code>false</code>.</li>
<li><strong>device (string)</strong> - Device to store Tensor. Either "gpu" or "cpu". If your device has a gpu, large models will train faster on it.</li>
</ul>
<p>Example</p>
<pre><code class="language-javascript">&gt;&gt;&gt; let a = torch.rand([3,2], false, 'gpu');
&gt;&gt;&gt; console.log(a.data);
//[[0.011, 0.122],
// [-0.03, 0.105]
// [-0.90,-0.202]]
</code></pre>
<p><br></p>
<h2 id="torchrandint">torch.randint</h2>
<pre><code>torch.rand(low,
            high,
            *shape,
            requires_grad=false,
            device='cpu') → Tensor
</code></pre>
<p>Creates new instance of the Tensor class filled with random integers between <code>low</code> and <code>high</code>.</p>
<p>Parameters</p>
<ul>
<li><strong>low</strong> - Lowest integer that can be sampled.</li>
<li><strong>high</strong> - One above highest integer that can be sampled.</li>
<li><strong>shape (Array)</strong> - Javascript Array containing the shape of the Tensor.</li>
<li><strong>requires_grad (boolean)</strong> - Whether to keep track of this tensor's gradients. Set this to true if you want to <strong>learn</strong> this parameter in your model. Default: <code>false</code>.</li>
<li><strong>device (string)</strong> - Device to store Tensor. Either "gpu" or "cpu". If your device has a gpu, large models will train faster on it.</li>
</ul>
<p>Example</p>
<pre><code class="language-javascript">&gt;&gt;&gt; let a = torch.rand([3,2], false, 'gpu');
&gt;&gt;&gt; console.log(a.data);
//[[0.011, 0.122],
// [-0.03, 0.105]
// [-0.90,-0.202]]
</code></pre>
<p><br></p>
<h2 id="tensorbackward">tensor.backward</h2>
<p>Performs backpropagation from this tensor backwards. It fills the gradients of every tensor that led to this one with gradients relative to <strong>this</strong> tensor.</p>
<blockquote>
<p><strong>Note:</strong> This only happens to tensors that have <code>requires_grad</code> set to true.</p>
</blockquote>
<p>Example</p>
<pre><code class="language-javascript">&gt;&gt;&gt; let a = torch.randn([3,2], true, 'gpu');
&gt;&gt;&gt; let b = torch.randn([2,4], false, 'gpu');
&gt;&gt;&gt; let c = torch.matmul(a,b);
&gt;&gt;&gt; c.backward();
&gt;&gt;&gt; console.log(a.grad);
//[[0.001, -0.99],
// [-0.13, 0.333]
// [-0.91,-0.044]]
</code></pre>
<p><br></p>
<h2 id="tensorzero_grad">tensor.zero_grad</h2>
<p>Clears the gradients stored in this tensor. Sets the gadients to zero. This is used after the gradients have been used to update the parameters of a model, to set the model up for the next iteration.</p>
<p>Example</p>
<pre><code class="language-javascript">&gt;&gt;&gt; let a = torch.randn([3,2], true, 'gpu');
&gt;&gt;&gt; let b = torch.randn([2,4], false, 'gpu');
&gt;&gt;&gt; let c = torch.matmul(a,b);
&gt;&gt;&gt; c.backward();
&gt;&gt;&gt; console.log(a.grad);
//[[0.001, -0.99],
// [-0.13, 0.333]
// [-0.91,-0.044]]
&gt;&gt;&gt; a.zero_grad();
&gt;&gt;&gt; console.log(a.grad);
//[[0, 0],
// [0, 0]
// [0, 0]]
</code></pre>
<p><br></p>
<h2 id="tensorzero_grad_graph">tensor.zero_grad_graph</h2>
<p>Clears the gradients stored in this tensor, setting the gadients to zero, and does the same for every tensor that led to this one. This is used after the gradients have been used to update the parameters of a model, to set the model up for the next iteration.</p>
<p>Example</p>
<pre><code class="language-javascript">&gt;&gt;&gt; let a = torch.randn([3,2], true, 'gpu');
&gt;&gt;&gt; let b = torch.randn([2,4], true, 'gpu');
&gt;&gt;&gt; let c = torch.matmul(a,b);
&gt;&gt;&gt; c.backward();
&gt;&gt;&gt; console.log(a.grad);
//[[0.001, -0.99],
// [-0.13, 0.333]
// [-0.91,-0.044]]
&gt;&gt;&gt; c.zero_grad_graph(); // Clears gradients of c, b, and a.
&gt;&gt;&gt; console.log(a.grad);
//[[0, 0],
// [0, 0]
// [0, 0]]
</code></pre>
<p><br></p>
<h2 id="tensortolist">tensor.tolist</h2>
<p>Returns an Array with the tensor's data.</p>
<p>Example</p>
<pre><code class="language-javascript">&gt;&gt;&gt; let a = torch.randn([3,2], true, 'gpu');
&gt;&gt;&gt; let aArray = a.tolist();
&gt;&gt;&gt; console.log(aArray);
//[[0.001, -0.99],
// [-0.13, 0.333]
// [-0.91,-0.044]]
</code></pre>
<p><br></p>
<h2 id="tensordata">tensor.data</h2>
<p>Returns the tensor's data as a javascript Array.</p>
<p>Example</p>
<pre><code class="language-javascript">&gt;&gt;&gt; let a = torch.randn([3,2], true, 'gpu');
&gt;&gt;&gt; console.log(a.data);
//[[0.001, -0.99],
// [-0.13, 0.333]
// [-0.91,-0.044]]
</code></pre>
<p><br></p>
<h2 id="tensorlength">tensor.length</h2>
<p>Returns the tensor's length (size of first dimension).</p>
<p>Example</p>
<pre><code class="language-javascript">&gt;&gt;&gt; let a = torch.randn([3,2], true, 'gpu');
&gt;&gt;&gt; console.log(a.length);
// 3
</code></pre>
<p><br></p>
<h2 id="tensorndims">tensor.ndims</h2>
<p>Returns the number of dimensions in the Tensor.</p>
<p>Example</p>
<pre><code class="language-javascript">&gt;&gt;&gt; let a = torch.randn([3,2,1,4], true, 'gpu');
&gt;&gt;&gt; console.log(a.ndims);
// 4
</code></pre>
<p><br></p>
<h2 id="tensorgrad">tensor.grad</h2>
<p>Returns the gradients currently stored in the Tensor.</p>
<p>Example</p>
<pre><code class="language-javascript">&gt;&gt;&gt; let a = torch.randn([3,2], true, 'gpu');
&gt;&gt;&gt; let b = torch.randn([2,4], true, 'gpu');
&gt;&gt;&gt; let c = torch.matmul(a,b);
&gt;&gt;&gt; c.backward();
&gt;&gt;&gt; console.log(a.grad);
//[[0.001, -0.99],
// [-0.13, 0.333]
// [-0.91,-0.044]]
</code></pre>












                
              </article>
            </div>
          
          
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
        </div>
        
          <button type="button" class="md-top md-icon" data-md-component="top" hidden>
  
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg>
  Back to top
</button>
        
      </main>
      
        <footer class="md-footer">
  
  <div class="md-footer-meta md-typeset">
    <div class="md-footer-meta__inner md-grid">
      <div class="md-copyright">
  
    <div class="md-copyright__highlight">
      Copyright &copy; 2024 Eduardo Leitão da Cunha Opice Leão
    </div>
  
  
    Made with
    <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
      Material for MkDocs
    </a>
  
</div>
      
        <div class="md-social">
  
    
    
    
    
      
      
    
    <a href="https://github.com/eduardoleao052/js-pytorch" target="_blank" rel="noopener" title="github.com" class="md-social__link">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
    </a>
  
    
    
    
    
      
      
    
    <a href="https://www.linkedin.com/in/eduardoleao052/" target="_blank" rel="noopener" title="www.linkedin.com" class="md-social__link">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"/></svg>
    </a>
  
</div>
      
    </div>
  </div>
</footer>
      
    </div>
    <div class="md-dialog" data-md-component="dialog">
      <div class="md-dialog__inner md-typeset"></div>
    </div>
    
    
    <script id="__config" type="application/json">{"base": "..", "features": ["navigation.tabs", "navigation.tabs.sticky", "navigation.path", "navigation.indexes", "toc.integrate", "toc.follow", "navigation.top"], "search": "../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
    
    
      <script src="../assets/javascripts/bundle.fe8b6f2b.min.js"></script>
      
    
  </body>
</html>